perm filename TSER[VV,BGB] blob
sn#133448 filedate 1974-11-30 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00005 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 TITLE TSERVO ROUTINE
C00004 00003 CONSTANTS
C00006 00004 LAC 10,[XWD 5,P1]
C00007 00005 HANG: TROA 17,HUNG+DONE
C00008 ENDMK
C⊗;
TITLE TSERVO ROUTINE
STATUS↑: 0 ;STATUS BITS
FLAG↑: 0 ;NON-ZERO IF SERVOING
COUNT↑: 0 ;LENS CHANGE COUNTER
P1↑:0↔ P2↑:0↔ P3↑:0 ;LATEST POT READING - FOCUS,TILT,PAN
X1↑:0↔ X2↑:0↔ X3↑:0 ;PREVIOUS POT READING
L1↑:0↔ L2↑:0↔ L3↑:0 ;FINAL POT VALUES
E1↑:4↔ E2↑:10↔ E3↑:10 ;TOLERANCES
;REGISTERS FOR INTERNAL USE ONLY
DEL: 25 ;COUNTER FOR HUNG A-D
MCNT: 300 ;LENS COUNT
MCNTX: 240 ;LENS MOTOR CUTOFF
MISSD: 100 ;DATA MISSED COUNT
CNTR: 40 ;STOP COUNTER MAX
;STATUS BITS
DONE←←1
RUN←←2
HUNG←←20
STOP←←10
LENS←←4
MISS←←40
;RELAY BITS
P2M←←1B18 ;TILT UP
P2P←←1B19 ;TILT DOWN
P3P←←1B20 ;PAN LEFT
P3M←←1B21 ;PAN RIGHT
P1M←←1B22 ;FOCUS FAR
P1P←←1B23 ;FOCUS NEAR
XLENS←←1B24 ;ACCUATE TURRET
;CONSTANTS
AD←←424
DATA←←204
MISC←←700
REL←←40
OPDEF SPCWAR[43B8]
OPDEF LAC[MOVE]
OPDEF DAC[MOVEM]
OPDEF GO[JRST]
;UPDATE STATUS BITS
TSERVO: LAC 17,STATUS↔ANDCMI 17,HUNG+MISS
IORI 17,RUN
SETZM FLAG
SETZM 16;
TRNN 17,DONE↔GO L1
SETZM COUNT
CONO MISC,REL
DAC 17,STATUS
DISMIS
L1: TRZN 17,LENS↔GO L2
LAC MCNT
ADDM COUNT
L2: TRNE 17,STOP↔GO LD
CONI DATA,1
ANDI 1,7
CONO DATA,4250
CONO AD,172000
LAC 4,MISSD
LAC 3,DEL
CONI DATA,2
TRNE 2,11000↔GO +3
SOJG 3,-3
GO HANG
TRNN DATA,10000↔GO +3
SOJG 4,-10
GO DMISS
DATAI DATA,5
CONO AD,4111
CONO DATA,203560(1)
ASHC 5,-=24
LSH 6,1
ASHC 6,-=24
LSH 7,1
ASH 7,-=24
LAC 10,[XWD 5,P1]
BLT 10,P3
SUB 5,L1
SUB 6,L2
SUB 7,L3
MOVM 11,5
MOVM 12,6
MOVM 13,7
CAMGE 11,E1↔GO L3
JUMPG 5,+2
TROA 16,P1M
ORI 16,P1P
SETOM FLAG
L3: CAMGE 12,E2↔GO L4
JUMPG 6,+2
TROA 16,P2M
IORI 16,P2P
SETOM FLAG
L4: CAMGE 13,E3↔GO L5
JUMPG 7,+2
TROA 16,P3M
ORI 16,P3P
GO L6
L5: SKIPN FLAG↔GO LD
L6: MOVS 10,[XWD 5,P1]↔BLT 10,7 ;FETCH
SUB 5,X1↔SUB 6,X2↔SUB 7,X3 ;DIFFERENCE
MOVMS 5↔MOVMS 6↔MOVMS 7 ;ABSOLUTE VALUE.
SUB 5,E1↔SUB 6,E2↔SUB 7,E3 ;TOLERANCE.
AND 5,6↔AND 5,7↔JUMPGE 5,L10
AOS 15,SCNT
CAMGE 15,CNTR↔GO L11
SETZM 16
IORI 17,STOP+DONE
GO .+5
HANG: TROA 17,HUNG+DONE
DMISS: IORI 17,MISS+DONE
CONO AD,4000
CONO DATA,203560(1)
SETZM COUNT
SETZM SCNT#
GO LB
LD: SKIPN COUNT↔IORI 17,DONE
L10: LAC 10,[XWD P1,X1]↔BLT 10,X3
SETZM SCNT
L11: LAC 15,COUNT
CAMLE 15,MCNTX↔IORI 16,XLENS
LB: CONO MISC,REL(16)
JUMPLE 15,.+2
SOS COUNT
DAC 17,STATUS
DISMIS
FLUSH: CONO MISC,REL
SETOM FL#
DISMIS
END